/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.appspot.ittrick.drive.trick.model;

import com.google.api.client.util.DateTime;
import com.google.api.services.drive.model.File;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *
 * @author takahara
 */
public class FileModel {
    
    private File file;
    
    /**
     * コンストラクタ
     */
    public FileModel(File file) {
        this.file = file;
    }
    
    /**
     * Title
     * @return 
     */
    public String getTitle() {
        return file.getTitle();
    }
    
    /**
     * アイコン画像URL
     * @return 
     */
    public String getIconLink() {
        return file.getIconLink();
    }
    
    /**
     * ファイルサイズ
     * @return 
     */
    public Long getFileSize() {
        return file.getFileSize();
    }
    
    /**
     * ファイルタイプ
     * @return 
     */
    public String getMimeType() {
        return file.getMimeType();
    }
    
    /**
     * 更新日時
     * @return 
     */
    public String getUpdateDate() {
        return getStringDateFromDateTime(file.getModifiedDate());
    }
    
    /**
     * 作成日時
     * @return 
     */
    public String getCreatedDate() {
        return getStringDateFromDateTime(file.getCreatedDate());
    }
    
    /**
     * 最終観覧日時
     * @return 
     */
    public String getLastViewDate() {
        return getStringDateFromDateTime(file.getLastViewedByMeDate());
    }
    
    /**
     * 共有日時
     * @return 
     */
    public String getSharedDate() {
        return getStringDateFromDateTime(file.getSharedWithMeDate());
    }
    
    public String getAlternateLink() {
        return file.getAlternateLink();
    }
    
    /**
     * dateTime フォーマット
     * @param dateTime
     * @return 
     */
    private String getStringDateFromDateTime(DateTime dateTime) {
        if(dateTime == null) return null;
        
        Date date = new Date(dateTime.getValue());
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
        
        return sdf1.format(date);
    }
    
    public File getFile() {
        return file;
    }
    
}
